package com.example.forum.common;

/**
 * Created with IntelliJ IDEA.
 * Description: 系统状态码
 * User: DELL
 * Date: 2023-09-16
 * Time: 11:14
 */
public enum ResultCode {
    SUCCESS(0, "操作成功"),
    FAILED(1000, "操作失败"),
    FAILED_UNAUTHORIZED(1001, "未授权"),
    FAILED_PARAMS_VALIDATE(1002, "参数校验失败"),
    FAILED_FORBIDDEN(1003, "禁⽌访问"),
    FAILED_CREATE(1004, "新增失败"),
    FAILED_NOT_EXISTS(1005, "资源不存在"),
    FAILED_UPDATE(1006, "更新失败"),
    // 关于用户的错误描述
    FAILED_USER_EXISTS(1101, "⽤⼾已存在"),
    FAILED_USER_NOT_EXISTS(1102, "⽤⼾不存在"),
    FAILED_LOGIN(1103, "⽤⼾名或密码错误"),
    FAILED_USER_BANNED(1104, "您已被禁⾔, 请联系管理员"),
    FAILED_TWO_PWD_NOT_SAME(1105, "两次输⼊的密码不⼀致"),
    FAILED_USER_ARTICLE_COUNT(1106, "更新用户中的帖子数量失败"),
    FAILED_USERNAME_EXISTS(1107, "用户名已存在"),
    FAILED_PASSWORD(1108, "原密码错误"), // 针对于用户修改密码时提交的原密码错误
    FAILED_HAS_SPACE(1109, "关键信息中不能包含空格"),
    FAILED_AVATAR_IS_EMPTY(1110, "头像不能为空"),
    // 关于板块的错误描述
    FAILED_BOARD_ARTICLE_COUNT(1201, "更新板块中的帖子数量失败"),
    SUCCESS_BOARD_CREATE(1202, "新增帖子成功"),
    FAILED_BOARD_BANNED(1203, "板块已被禁用"),
    FAILED_BOARD_NOT_EXISTS(1204, "板块不存在"),
    // 关于帖子的错误描述
    FAILED_ARTICLE_NOT_EXISTS(1301, "帖子不存在"),
    FAILED_ARTICLE_BANNED(1302, "帖子目前处于封帖状态"),
    FAILED_TITLE_HAS_SPACE(1303, "帖子标题不能包含空格"),
    ERROR_SERVICES(2000, "服务器内部错误"),
    ERROR_IS_NULL(2001, "IS NULL.");

    private int code;
    private String message;

    ResultCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }

    @Override
    public String toString() {
        return "code = " + code + ", message = " + message + ". ";
    }
}
